1. Field of the Invention
The present invention relates in general to integrated circuit (IC) testers and in particular to an IC tester that rapidly locates points along an IC's boundaries of operability with respect to two variable operating parameters.
2. Description of Related Art
The newspaper comic strip Lil' Abner was occasionally populated with characters called "Shmoos" noted for their somewhat amorphous shape. The integrated circuit (IC) test industry borrowed the term "Shmoo" as a name for a type of plot produced by some IC testers. A "Shmoo plot" is a graphical representation of an IC's ability to operate properly in response to various combinations of values of two variable operating parameters. For example one might repeatedly test an IC using different combinations of supply voltage and input clock signal frequency for each test to determine the various combinations of values of those operating parameters for which the IC operates properly.
FIG. 1 illustrates a typical Shmoo plot. The horizontal (X) axis of the Shmoo plot represents the value of one test operating parameter, for example supply voltage, and the vertical (Y) axis represents the value of another test operating level parameter, for example clock frequency. To produce enough data for a Shmoo plot, an IC tester must test an IC at every combination of X and Y parameters values within a range of interest bounded by X.sub.MIN, X.sub.MAX, Y.sub.MIN and Y.sub.MAX with some given resolution in X and Y step size. The tester then displays or prints a Shmoo plot graph representing test results for each combination of X and Y values. The tester plots a "pass" symbol (represented in FIG. 1 by a square containing a small circle) when the IC passes a test performed under the combination of test parameters indicated by the symbol's (X,Y) coordinates. The tester plots a "fail" symbol (represented in FIG. 1 by an empty square) when the IC fails a test performed under the combination of test parameters indicated by the symbol's (X,Y) coordinates. Like its namesake, a Shmoo plot often has an irregular shape. But a Shmoo plot is very useful because it clearly depicts the operating limits of an IC with respect to the various combinations of two test parameters.
Though Shmoo plots are useful, they require a lot of tester time to produce the necessary data because the tester has to perform so many tests on the IC. However since ICs usually perform correctly at every point within the Shmoo plot's contour, a tester need not test every combination of parameters within the range of interest if it can perform enough tests to locate the Shmoo plot's contour, the boundary between areas of pass and fail. FIGS. 2 and 3 illustrate a method IC testers have commonly used to locate the boundaries of a Shmoo plot.
Referring to FIG. 2, the tester performs a first IC test to produce a pass/fail symbol at one corner of the area of interest bounded by Y.sub.MAX, Y.sub.MIN, X.sub.MAX and X.sub.MIN. In the example of FIG. 2 the tester performs the first IC test with X and Y parameters set to X.sub.MIN and Y.sub.MAX. Since the IC fails the test, the tester plots a fail symbol 20 at the appropriate plot coordinates. The tester then increments the X parameter and repeats the test. Since the IC again fails, the tester plots a fail symbol at the current X,Y coordinates, position 21. The tester continues to increment X and to test the IC and to plot fail symbols until X reaches X.sub.MAX. at position 22. The tester then decrements Y, resets X to X.sub.MIN, tests the IC and plots a fail symbol at position 23. The tester continues to test the IC for each successively lower value of Y at all values of X in the range of interest thereby producing complete rows of symbols 24-26 . However while traversing row 27, the tester encounters a combination of X and Y values on the Shmoo plot contour for which the IC passes the test. It then produces a "pass" symbol 18 at the current X,Y coordinates. At this point, since it has located a point on left side of the Shmoo plot contour, the tester stops traversing row 27, decrements Y, resets X to X.sub.MIN and begins producing symbols along the next row 28. The tester continues to repeat the process producing a row of symbols for each successively smaller value of Y with each row ending either at (Y,X.sub.MAX) if the IC does not pass the test for any value of X along that row or at the first X position of the row for which the IC passes a test. The tester may halt the procedure when it first encounters a row 29 for which the IC once again fails at all X positions.
By this time the tester has discovered several points along the left side of the Shmoo plot contour of FIG. 1. As illustrated in FIG. 3, the tester looks for points along the right side of Shmoo plot contour by performing tests starting at the right side of the plot, for example at the rightmost point 30 of the uppermost row 27 not already fully tested and working its way leftward along the row until it reaches a point 31 on the Shmoo plot contour. The tester repeats this process for each lower row to locate points along the right side of the Shmoo plot contour. The tester stops testing when it reaches row 29 for which the IC fails at all points.
As may be seen in FIG. 3 the tester has not yet located every point of the actual Shmoo plot contour because it has not performed a test at every (X,Y) point along the contour. The contour is therefore indeterminate in certain areas, for example in areas 32-34. A tester could locate most of these areas of the Shmoo plot contour by performing two other sets of tests in which it moves along symbol columns toward the Shmoo contour starting both from above and below the contour. However since the additional tests add more time to the testing process, testers typically do not often perform those additional tests.
FIG. 4 illustrates a Shmoo contour plot that a tester might produce based on the pass/fail data of FIG. 3. Note that the Shmoo plot contour shown in FIG. 4 is not complete. Nonetheless the Shmoo contour plot of FIG. 4 is useful as a rough approximation of the true contour of the Shmoo plot of FIG. 1 and the tester performs only about half as many tests to produce the Shmoo contour plot of FIG. 4 than it would have to perform to produce the full Shmoo plot of FIG. 1. Note that most of the tests performed are "fails". Since an IC tester can quickly stop a test when the IC fails, most of the time-consuming "pass" tests are avoided by performing a contour test rather than a full Shmoo plot test. In any case, IC performance on and near the X,Y Shmoo plot contour is normally of primary interest because that's where the IC's problems normally lie.
It would be helpful, however, if a tester were able to locate a Shmoo plot contour by testing an IC at fewer combinations of X and Y parameter values and yet produce a more accurate depiction of the true Shmoo plot contour.